2024-09-18 14:52:25,357 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-09-18 14:52:27,284 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-09-18 14:52:27,284 - INFO - Using cuda device
2024-09-18 15:05:47,481 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-09-18 15:05:49,672 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-09-18 15:05:49,672 - INFO - Using cuda device
2024-09-18 15:07:09,684 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-09-18 15:07:10,107 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-09-18 15:07:10,107 - INFO - Using cuda device
2024-09-18 15:37:22,268 - INFO - Epoch: 0/100. Training time: 1431.624
2024-09-18 15:37:22,286 - INFO - Training Metrics...
2024-09-18 15:37:22,286 - INFO - {'loss': 0.8301053139670141, 'f1': 55.318600714894494, 'acc': 67.45782735708559, 'precision': 54.87075814976791, 'recall': 68.7907841970147, 'balanced acc': 68.7907841970147}
2024-09-18 15:37:22,286 - INFO - Validation Metrics... Inference time: 380.536
2024-09-18 15:37:22,286 - INFO - {'loss': 0.5720597587379754, 'f1': 65.23845605387095, 'acc': 82.2264591883265, 'precision': 62.142600964162476, 'recall': 72.02582061705839, 'balanced acc': 72.02582061705839}
2024-09-18 15:37:22,286 - INFO - ==================================================
2024-09-18 18:09:53,789 - INFO - Epoch: 5/100. Training time: 1462.110
2024-09-18 18:09:53,822 - INFO - Training Metrics...
2024-09-18 18:09:53,822 - INFO - {'loss': 0.4479228613411852, 'f1': 71.3442646907531, 'acc': 83.54029193874824, 'precision': 68.54735043100135, 'recall': 81.59082117379951, 'balanced acc': 81.59082117379951}
2024-09-18 18:09:53,822 - INFO - Validation Metrics... Inference time: 365.665
2024-09-18 18:09:53,822 - INFO - {'loss': 0.4540952502512464, 'f1': 69.3830128650161, 'acc': 85.32134442924456, 'precision': 66.85373480743057, 'recall': 76.0166285116779, 'balanced acc': 76.0166285116779}
2024-09-18 18:09:53,822 - INFO - ==================================================
2024-09-18 20:42:30,071 - INFO - Epoch: 10/100. Training time: 1456.577
2024-09-18 20:42:30,097 - INFO - Training Metrics...
2024-09-18 20:42:30,097 - INFO - {'loss': 0.42762455711223807, 'f1': 72.31952301422841, 'acc': 84.1888866613205, 'precision': 69.3016973003136, 'recall': 82.7867971537905, 'balanced acc': 82.7867971537905}
2024-09-18 20:42:30,097 - INFO - Validation Metrics... Inference time: 371.125
2024-09-18 20:42:30,097 - INFO - {'loss': 0.4508603495710036, 'f1': 70.20961711577695, 'acc': 85.53556771545827, 'precision': 68.02692421237369, 'recall': 77.05920478465563, 'balanced acc': 77.05920478465563}
2024-09-18 20:42:30,098 - INFO - ==================================================
2024-09-18 23:14:18,571 - INFO - Epoch: 15/100. Training time: 1455.738
2024-09-18 23:14:18,602 - INFO - Training Metrics...
2024-09-18 23:14:18,602 - INFO - {'loss': 0.39891909437226547, 'f1': 73.05064901812374, 'acc': 84.3434242181235, 'precision': 70.08908675450614, 'recall': 83.90332994531913, 'balanced acc': 83.90332994531913}
2024-09-18 23:14:18,602 - INFO - Validation Metrics... Inference time: 368.649
2024-09-18 23:14:18,602 - INFO - {'loss': 0.42680046663564797, 'f1': 70.8208527744662, 'acc': 85.42225262197903, 'precision': 68.18497030903966, 'recall': 78.96913280800956, 'balanced acc': 78.96913280800956}
2024-09-18 23:14:18,602 - INFO - ==================================================
2024-09-23 18:14:08,499 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-09-23 18:14:10,603 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-09-23 18:14:10,603 - INFO - Using cuda device
2024-09-23 18:14:10,779 - INFO - Training parameters restored at epoch 17
2024-09-23 20:17:29,981 - INFO - Epoch: 20/100. Training time: 1462.480
2024-09-23 20:17:29,998 - INFO - Training Metrics...
2024-09-23 20:17:29,999 - INFO - {'loss': 0.3980980753311383, 'f1': 72.8593975750422, 'acc': 84.48065834192539, 'precision': 70.27722055531606, 'recall': 83.2748070205502, 'balanced acc': 83.2748070205502}
2024-09-23 20:17:29,999 - INFO - Validation Metrics... Inference time: 371.025
2024-09-23 20:17:29,999 - INFO - {'loss': 0.38323810287550386, 'f1': 72.33154331828763, 'acc': 87.39162486700106, 'precision': 70.07297665710908, 'recall': 78.60829183182425, 'balanced acc': 78.60829183182425}
2024-09-23 20:17:29,999 - INFO - ==================================================
2024-09-23 22:51:18,981 - INFO - Epoch: 25/100. Training time: 1471.683
2024-09-23 22:51:19,008 - INFO - Training Metrics...
2024-09-23 22:51:19,009 - INFO - {'loss': 0.3940815457275936, 'f1': 73.20000306776537, 'acc': 84.92009393974108, 'precision': 70.67772673276619, 'recall': 82.73859094201785, 'balanced acc': 82.73859094201785}
2024-09-23 22:51:19,009 - INFO - Validation Metrics... Inference time: 368.969
2024-09-23 22:51:19,009 - INFO - {'loss': 0.3863379855950673, 'f1': 72.76958918750745, 'acc': 87.53009575923393, 'precision': 70.45933976660325, 'recall': 79.21427828984898, 'balanced acc': 79.21427828984898}
2024-09-23 22:51:19,009 - INFO - ==================================================
2024-09-24 14:50:28,501 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-09-24 14:50:31,185 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-09-24 14:50:31,185 - INFO - Using cuda device
2024-09-24 14:50:31,414 - INFO - Training parameters restored at epoch 26
2024-09-24 17:25:32,337 - INFO - Epoch: 30/100. Training time: 1468.384
2024-09-24 17:25:32,356 - INFO - Training Metrics...
2024-09-24 17:25:32,357 - INFO - {'loss': 0.3700238912563606, 'f1': 74.35834312116512, 'acc': 85.42762152976667, 'precision': 70.73280331280965, 'recall': 84.72621964926817, 'balanced acc': 84.72621964926817}
2024-09-24 17:25:32,357 - INFO - Validation Metrics... Inference time: 370.300
2024-09-24 17:25:32,357 - INFO - {'loss': 0.3957460154505337, 'f1': 71.95447045812077, 'acc': 86.4594923240614, 'precision': 70.64894079957463, 'recall': 79.05467290041395, 'balanced acc': 79.05467290041395}
2024-09-24 17:25:32,357 - INFO - ==================================================
2024-09-24 19:58:49,824 - INFO - Epoch: 35/100. Training time: 1466.237
2024-09-24 19:58:49,886 - INFO - Training Metrics...
2024-09-24 19:58:49,886 - INFO - {'loss': 0.37604035356361876, 'f1': 73.98173095290281, 'acc': 85.77354221560316, 'precision': 70.65448093430994, 'recall': 83.80363056361094, 'balanced acc': 83.80363056361094}
2024-09-24 19:58:49,886 - INFO - Validation Metrics... Inference time: 371.062
2024-09-24 19:58:49,886 - INFO - {'loss': 0.38360702991485596, 'f1': 72.254579192147, 'acc': 86.79810761513909, 'precision': 71.18805554388054, 'recall': 79.50769780536842, 'balanced acc': 79.50769780536842}
2024-09-24 19:58:49,886 - INFO - ==================================================
2024-09-24 22:32:17,554 - INFO - Epoch: 40/100. Training time: 1462.907
2024-09-24 22:32:17,616 - INFO - Training Metrics...
2024-09-24 22:32:17,616 - INFO - {'loss': 0.3790310127981778, 'f1': 74.04172114684222, 'acc': 85.01755642112498, 'precision': 70.76822852028403, 'recall': 84.52483313969218, 'balanced acc': 84.52483313969218}
2024-09-24 22:32:17,616 - INFO - Validation Metrics... Inference time: 369.466
2024-09-24 22:32:17,616 - INFO - {'loss': 0.4210381040386125, 'f1': 71.19755542124584, 'acc': 85.68973248214013, 'precision': 68.84294380632723, 'recall': 79.21725861502422, 'balanced acc': 79.21725861502422}
2024-09-24 22:32:17,616 - INFO - ==================================================
2024-09-25 15:22:57,648 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-09-25 15:23:00,039 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-09-25 15:23:00,039 - INFO - Using cuda device
2024-09-25 15:23:00,138 - INFO - Training parameters restored at epoch 43
2024-09-25 16:55:20,780 - INFO - Epoch: 45/100. Training time: 1480.119
2024-09-25 16:55:20,793 - INFO - Training Metrics...
2024-09-25 16:55:20,793 - INFO - {'loss': 0.3690108724415596, 'f1': 73.96068375444091, 'acc': 85.20363157291786, 'precision': 70.55831942783564, 'recall': 84.76840660002829, 'balanced acc': 84.76840660002829}
2024-09-25 16:55:20,794 - INFO - Validation Metrics... Inference time: 369.656
2024-09-25 16:55:20,794 - INFO - {'loss': 0.3814939809780495, 'f1': 72.28330372444708, 'acc': 87.01162790697674, 'precision': 70.79633753246182, 'recall': 79.12736427563716, 'balanced acc': 79.12736427563716}
2024-09-25 16:55:20,794 - INFO - ==================================================
2024-09-25 19:27:48,605 - INFO - Epoch: 50/100. Training time: 1446.223
2024-09-25 19:27:48,645 - INFO - Training Metrics...
2024-09-25 19:27:48,645 - INFO - {'loss': 0.3629019777175828, 'f1': 72.9176776903532, 'acc': 83.67672413793102, 'precision': 70.13210949373226, 'recall': 84.27643142606613, 'balanced acc': 84.27643142606613}
2024-09-25 19:27:48,646 - INFO - Validation Metrics... Inference time: 364.000
2024-09-25 19:27:48,646 - INFO - {'loss': 0.371342914945939, 'f1': 72.70813330427477, 'acc': 87.50062699498402, 'precision': 70.86409154156935, 'recall': 78.9084316254, 'balanced acc': 78.9084316254}
2024-09-25 19:27:48,646 - INFO - ==================================================
2024-09-25 22:00:36,813 - INFO - Epoch: 55/100. Training time: 1462.018
2024-09-25 22:00:36,834 - INFO - Training Metrics...
2024-09-25 22:00:36,834 - INFO - {'loss': 0.36905457732712693, 'f1': 73.91834459581658, 'acc': 85.17364532019704, 'precision': 71.12304021564204, 'recall': 84.10759544723429, 'balanced acc': 84.10759544723429}
2024-09-25 22:00:36,834 - INFO - Validation Metrics... Inference time: 367.791
2024-09-25 22:00:36,834 - INFO - {'loss': 0.4210469500691283, 'f1': 71.54035559982609, 'acc': 85.70403936768508, 'precision': 69.5672295114062, 'recall': 79.90086588406228, 'balanced acc': 79.90086588406228}
2024-09-25 22:00:36,834 - INFO - ==================================================
2024-09-27 15:56:22,056 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-09-27 15:56:24,141 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-09-27 15:56:24,141 - INFO - Using cuda device
2024-09-27 15:56:24,307 - INFO - Training parameters restored at epoch 51
2024-09-27 18:30:07,797 - INFO - Epoch: 55/100. Training time: 1478.037
2024-09-27 18:30:07,809 - INFO - Training Metrics...
2024-09-27 18:30:07,809 - INFO - {'loss': 0.35591346965047527, 'f1': 74.57936051557105, 'acc': 85.35890422728836, 'precision': 71.12505338843602, 'recall': 85.40944271494607, 'balanced acc': 85.40944271494607}
2024-09-27 18:30:07,809 - INFO - Validation Metrics... Inference time: 368.566
2024-09-27 18:30:07,809 - INFO - {'loss': 0.40548087451972215, 'f1': 71.54864591165703, 'acc': 85.78104575163398, 'precision': 70.24542815828524, 'recall': 79.37854207433482, 'balanced acc': 79.37854207433482}
2024-09-27 18:30:07,809 - INFO - ==================================================
2024-09-27 21:03:54,664 - INFO - Epoch: 60/100. Training time: 1472.791
2024-09-27 21:03:54,715 - INFO - Training Metrics...
2024-09-27 21:03:54,715 - INFO - {'loss': 0.36676078300757947, 'f1': 74.09305960297488, 'acc': 85.58131420170312, 'precision': 70.93346009976341, 'recall': 84.24741312625076, 'balanced acc': 84.24741312625076}
2024-09-27 21:03:54,715 - INFO - Validation Metrics... Inference time: 373.651
2024-09-27 21:03:54,715 - INFO - {'loss': 0.3967525643460891, 'f1': 71.53946080656627, 'acc': 86.12526599787202, 'precision': 69.8349063652952, 'recall': 79.33322830168473, 'balanced acc': 79.33322830168473}
2024-09-27 21:03:54,715 - INFO - ==================================================
2024-09-27 23:37:10,891 - INFO - Epoch: 65/100. Training time: 1478.069
2024-09-27 23:37:10,942 - INFO - Training Metrics...
2024-09-27 23:37:10,942 - INFO - {'loss': 0.3670899685967732, 'f1': 74.16223460461168, 'acc': 84.88538205980066, 'precision': 70.8657129644806, 'recall': 85.00971833954846, 'balanced acc': 85.00971833954846}
2024-09-27 23:37:10,942 - INFO - Validation Metrics... Inference time: 368.732
2024-09-27 23:37:10,942 - INFO - {'loss': 0.412333946017658, 'f1': 71.09136401020287, 'acc': 85.48721310229519, 'precision': 69.07830082479668, 'recall': 79.16977462071334, 'balanced acc': 79.16977462071334}
2024-09-27 23:37:10,942 - INFO - ==================================================
2024-09-30 17:22:20,524 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-09-30 17:22:22,505 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-09-30 17:22:22,505 - INFO - Using cuda device
2024-09-30 17:22:22,591 - INFO - Training parameters restored at epoch 59
2024-09-30 18:24:00,301 - INFO - Epoch: 60/100. Training time: 1471.853
2024-09-30 18:24:00,315 - INFO - Training Metrics...
2024-09-30 18:24:00,315 - INFO - {'loss': 0.3619730976121179, 'f1': 74.3652192451565, 'acc': 85.67888647038605, 'precision': 71.21482820845374, 'recall': 83.8360178918413, 'balanced acc': 83.8360178918413}
2024-09-30 18:24:00,315 - INFO - Validation Metrics... Inference time: 368.683
2024-09-30 18:24:00,315 - INFO - {'loss': 0.36457765219258326, 'f1': 73.0050424088032, 'acc': 87.82197142422861, 'precision': 70.57832462476823, 'recall': 79.44784928942946, 'balanced acc': 79.44784928942946}
2024-09-30 18:24:00,316 - INFO - ==================================================
2024-09-30 20:56:24,193 - INFO - Epoch: 65/100. Training time: 1440.810
2024-09-30 20:56:24,219 - INFO - Training Metrics...
2024-09-30 20:56:24,219 - INFO - {'loss': 0.3588872409512844, 'f1': 74.63229227938054, 'acc': 86.07055027303623, 'precision': 71.35962469539564, 'recall': 84.78066427211547, 'balanced acc': 84.78066427211547}
2024-09-30 20:56:24,219 - INFO - Validation Metrics... Inference time: 366.828
2024-09-30 20:56:24,219 - INFO - {'loss': 0.41774754313861623, 'f1': 71.42967631877009, 'acc': 85.84186426508589, 'precision': 68.96464262907224, 'recall': 79.93168748909167, 'balanced acc': 79.93168748909167}
2024-09-30 20:56:24,219 - INFO - ==================================================
2024-09-30 23:29:11,702 - INFO - Epoch: 70/100. Training time: 1459.875
2024-09-30 23:29:11,718 - INFO - Training Metrics...
2024-09-30 23:29:11,719 - INFO - {'loss': 0.3577975699760644, 'f1': 74.06269289951608, 'acc': 85.09591113911482, 'precision': 71.0044171061993, 'recall': 84.62390512717357, 'balanced acc': 84.62390512717357}
2024-09-30 23:29:11,719 - INFO - Validation Metrics... Inference time: 368.959
2024-09-30 23:29:11,719 - INFO - {'loss': 0.40662270725942123, 'f1': 71.65586998295474, 'acc': 86.33869129046965, 'precision': 69.68027870382379, 'recall': 78.97792780514754, 'balanced acc': 78.97792780514754}
2024-09-30 23:29:11,719 - INFO - ==================================================
2024-10-01 14:48:32,280 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-01 14:48:34,285 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-01 14:48:34,285 - INFO - Using cuda device
2024-10-01 14:48:34,499 - INFO - Training parameters restored at epoch 62
2024-10-01 16:51:52,469 - INFO - Epoch: 65/100. Training time: 1478.371
2024-10-01 16:51:52,506 - INFO - Training Metrics...
2024-10-01 16:51:52,506 - INFO - {'loss': 0.35862640339165486, 'f1': 73.6584639282358, 'acc': 85.06136155344254, 'precision': 70.87012856295898, 'recall': 84.19220133069797, 'balanced acc': 84.19220133069797}
2024-10-01 16:51:52,506 - INFO - Validation Metrics... Inference time: 371.223
2024-10-01 16:51:52,506 - INFO - {'loss': 0.38184165662410213, 'f1': 72.36845342526829, 'acc': 87.12296701626387, 'precision': 69.63850723199356, 'recall': 79.46494513148112, 'balanced acc': 79.46494513148112}
2024-10-01 16:51:52,506 - INFO - ==================================================
2024-10-01 19:26:03,512 - INFO - Epoch: 70/100. Training time: 1479.399
2024-10-01 19:26:03,554 - INFO - Training Metrics...
2024-10-01 19:26:03,555 - INFO - {'loss': 0.3679441721568554, 'f1': 74.02201690461442, 'acc': 85.64883816397449, 'precision': 71.19817560493698, 'recall': 83.75608569159222, 'balanced acc': 83.75608569159222}
2024-10-01 19:26:03,555 - INFO - Validation Metrics... Inference time: 367.583
2024-10-01 19:26:03,555 - INFO - {'loss': 0.3832184438611947, 'f1': 72.38169633791746, 'acc': 87.17278461772307, 'precision': 70.2243320059849, 'recall': 79.11709183276825, 'balanced acc': 79.11709183276825}
2024-10-01 19:26:03,555 - INFO - ==================================================
2024-10-01 22:00:01,778 - INFO - Epoch: 75/100. Training time: 1466.740
2024-10-01 22:00:01,828 - INFO - Training Metrics...
2024-10-01 22:00:01,828 - INFO - {'loss': 0.36265884949068716, 'f1': 73.47949685186803, 'acc': 84.74021938366366, 'precision': 70.31468045656906, 'recall': 84.64352225457144, 'balanced acc': 84.64352225457144}
2024-10-01 22:00:01,828 - INFO - Validation Metrics... Inference time: 367.834
2024-10-01 22:00:01,828 - INFO - {'loss': 0.36884592268981187, 'f1': 72.57983675575264, 'acc': 87.12720398236814, 'precision': 70.64404763197793, 'recall': 79.47413221015701, 'balanced acc': 79.47413221015701}
2024-10-01 22:00:01,828 - INFO - ==================================================
2024-10-03 14:37:36,486 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-03 14:37:38,527 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-03 14:37:38,527 - INFO - Using cuda device
2024-10-03 14:37:38,616 - INFO - Training parameters restored at epoch 70
2024-10-03 15:08:39,118 - INFO - Epoch: 70/100. Training time: 1480.687
2024-10-03 15:08:39,135 - INFO - Training Metrics...
2024-10-03 15:08:39,135 - INFO - {'loss': 0.36032384736784573, 'f1': 75.48435144316996, 'acc': 86.43008458395386, 'precision': 72.4722304286916, 'recall': 84.94046246576258, 'balanced acc': 84.94046246576258}
2024-10-03 15:08:39,135 - INFO - Validation Metrics... Inference time: 379.815
2024-10-03 15:08:39,135 - INFO - {'loss': 0.39907413837956446, 'f1': 71.87420689315502, 'acc': 86.32123043015656, 'precision': 69.67247999765215, 'recall': 79.6560331453827, 'balanced acc': 79.6560331453827}
2024-10-03 15:08:39,152 - INFO - ==================================================
2024-10-03 17:42:36,069 - INFO - Epoch: 75/100. Training time: 1472.628
2024-10-03 17:42:36,100 - INFO - Training Metrics...
2024-10-03 17:42:36,101 - INFO - {'loss': 0.35710673819621797, 'f1': 74.02485939783344, 'acc': 85.3125023866804, 'precision': 71.05294038662359, 'recall': 84.33546056245856, 'balanced acc': 84.33546056245856}
2024-10-03 17:42:36,101 - INFO - Validation Metrics... Inference time: 373.280
2024-10-03 17:42:36,101 - INFO - {'loss': 0.3835221920527664, 'f1': 72.02040701545005, 'acc': 87.00777093783249, 'precision': 69.29168603881206, 'recall': 79.2076881073518, 'balanced acc': 79.2076881073518}
2024-10-03 17:42:36,101 - INFO - ==================================================
2024-10-03 20:16:01,691 - INFO - Epoch: 80/100. Training time: 1466.398
2024-10-03 20:16:01,708 - INFO - Training Metrics...
2024-10-03 20:16:01,708 - INFO - {'loss': 0.3623755223351746, 'f1': 73.94687819596825, 'acc': 85.23108794439989, 'precision': 70.84451868715374, 'recall': 84.48942123347086, 'balanced acc': 84.48942123347086}
2024-10-03 20:16:01,708 - INFO - Validation Metrics... Inference time: 370.327
2024-10-03 20:16:01,708 - INFO - {'loss': 0.38497332615010876, 'f1': 72.76983105925578, 'acc': 87.26468688250493, 'precision': 70.6835681671046, 'recall': 79.750229235677, 'balanced acc': 79.750229235677}
2024-10-03 20:16:01,708 - INFO - ==================================================
2024-10-03 22:49:08,201 - INFO - Epoch: 85/100. Training time: 1457.848
2024-10-03 22:49:08,219 - INFO - Training Metrics...
2024-10-03 22:49:08,219 - INFO - {'loss': 0.351903035135692, 'f1': 74.32431154661525, 'acc': 84.87793561690916, 'precision': 71.14233125400675, 'recall': 85.71336310842943, 'balanced acc': 85.71336310842943}
2024-10-03 22:49:08,219 - INFO - Validation Metrics... Inference time: 364.019
2024-10-03 22:49:08,219 - INFO - {'loss': 0.38105904004153085, 'f1': 72.18609058196044, 'acc': 86.53131174950602, 'precision': 70.04305126335683, 'recall': 79.94773446093541, 'balanced acc': 79.94773446093541}
2024-10-03 22:49:08,219 - INFO - ==================================================
2024-10-08 19:32:44,183 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-08 19:32:46,196 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-08 19:32:46,196 - INFO - Using cuda device
2024-10-08 19:32:46,355 - INFO - Training parameters restored at epoch 73
2024-10-08 21:05:14,651 - INFO - Epoch: 75/100. Training time: 1481.375
2024-10-08 21:05:14,681 - INFO - Training Metrics...
2024-10-08 21:05:14,681 - INFO - {'loss': 0.3542154004127521, 'f1': 74.13678916504396, 'acc': 85.18917306297018, 'precision': 70.74690034900975, 'recall': 85.12602805734174, 'balanced acc': 85.12602805734174}
2024-10-08 21:05:14,681 - INFO - Validation Metrics... Inference time: 373.066
2024-10-08 21:05:14,681 - INFO - {'loss': 0.34746132002157326, 'f1': 73.0990334789876, 'acc': 87.78197674418607, 'precision': 71.42746364106704, 'recall': 79.32992531153255, 'balanced acc': 79.32992531153255}
2024-10-08 21:05:14,704 - INFO - ==================================================
2024-10-08 23:37:52,693 - INFO - Epoch: 80/100. Training time: 1454.608
2024-10-08 23:37:52,722 - INFO - Training Metrics...
2024-10-08 23:37:52,723 - INFO - {'loss': 0.3562123393777556, 'f1': 73.15792510038584, 'acc': 83.83731908962461, 'precision': 70.37658892511755, 'recall': 84.572406514524, 'balanced acc': 84.572406514524}
2024-10-08 23:37:52,723 - INFO - Validation Metrics... Inference time: 369.386
2024-10-08 23:37:52,723 - INFO - {'loss': 0.36706147941888545, 'f1': 73.44228743330657, 'acc': 88.22721918224654, 'precision': 71.69011535434163, 'recall': 79.28083022961133, 'balanced acc': 79.28083022961133}
2024-10-08 23:37:52,723 - INFO - ==================================================
2024-10-09 14:10:35,839 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-09 14:10:38,635 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-09 14:10:38,635 - INFO - Using cuda device
2024-10-09 14:10:38,822 - INFO - Training parameters restored at epoch 81
2024-10-09 16:46:36,861 - INFO - Epoch: 85/100. Training time: 1486.775
2024-10-09 16:46:36,899 - INFO - Training Metrics...
2024-10-09 16:46:36,899 - INFO - {'loss': 0.3448102446318847, 'f1': 75.14919263268655, 'acc': 85.89458987283767, 'precision': 71.45744878153624, 'recall': 86.0021628247544, 'balanced acc': 86.0021628247544}
2024-10-09 16:46:36,899 - INFO - Validation Metrics... Inference time: 376.402
2024-10-09 16:46:36,899 - INFO - {'loss': 0.3833508999908672, 'f1': 71.74596280130963, 'acc': 86.00642194862442, 'precision': 70.4593248731727, 'recall': 79.39722364078092, 'balanced acc': 79.39722364078092}
2024-10-09 16:46:36,899 - INFO - ==================================================
2024-10-09 19:21:36,122 - INFO - Epoch: 90/100. Training time: 1464.944
2024-10-09 19:21:36,138 - INFO - Training Metrics...
2024-10-09 19:21:36,138 - INFO - {'loss': 0.36087309550769225, 'f1': 74.30750206683571, 'acc': 85.81849772788026, 'precision': 71.21898950630546, 'recall': 84.41180282248656, 'balanced acc': 84.41180282248656}
2024-10-09 19:21:36,138 - INFO - Validation Metrics... Inference time: 374.720
2024-10-09 19:21:36,138 - INFO - {'loss': 0.3736986780867857, 'f1': 72.67396893621591, 'acc': 87.11973704210367, 'precision': 71.58035648181684, 'recall': 80.13507058418298, 'balanced acc': 80.13507058418298}
2024-10-09 19:21:36,139 - INFO - ==================================================
2024-10-09 21:56:35,539 - INFO - Epoch: 95/100. Training time: 1492.390
2024-10-09 21:56:35,556 - INFO - Training Metrics...
2024-10-09 21:56:35,557 - INFO - {'loss': 0.3515053610202714, 'f1': 74.67842845392788, 'acc': 85.3206982472219, 'precision': 71.3151980359731, 'recall': 85.62809954166646, 'balanced acc': 85.62809954166646}
2024-10-09 21:56:35,557 - INFO - Validation Metrics... Inference time: 379.135
2024-10-09 21:56:35,557 - INFO - {'loss': 0.3964879372540642, 'f1': 71.73480147064532, 'acc': 86.07744338045296, 'precision': 69.46243178933909, 'recall': 79.92124303563945, 'balanced acc': 79.92124303563945}
2024-10-09 21:56:35,571 - INFO - ==================================================
2024-10-10 00:08:53,819 - INFO - Final test metrics:
{'f1': 76.2531689843958, 'acc': 88.0188098495212, 'precision': 73.0659977271024, 'recall': 84.66521041000483, 'balanced acc': 84.66521041000483}
